/****************************************************************************
 * Copyright (C) 2025 Chenyz. All rights reserved.
 *
 * @file    TinyOS_Delay.h
 *
 * @par     dependencies
 *          - stdint.h (Standard integer types)
 *          - TinyOS_Objects.h (Global kernel objects)
 *
 * @author  Chenyz
 *
 * @brief   Task Delay Management Header
 *          This file provides declarations for task delay and timeout
 *          functionality in TinyOS, including:
 *          - Task delay initialization and management
 *          - Time-based task suspension and wake-up
 *          - Delay list operations and timeout handling
 *          - Integration with task scheduler for automatic rescheduling
 *
 * @version V1.0
 * @date    2025-10-03
 *
 * @note    This module provides essential timing control functions for
 *          task synchronization and periodic execution in the system.
 ****************************************************************************/

#ifndef __TINYOS_DELAY_H__
#define __TINYOS_DELAY_H__

/******************************** Includes **********************************/
#include <stdint.h>
#include "TinyOS_Objects.h"

/*************************** Function Declarations **************************/

/* Task delay management functions */
void TinyOS_TaskDelayTimeWake(TinyOS_TaskType* Task);
void TinyOS_TaskDelayTimeWait(TinyOS_TaskType* Task, uint32_t Ticks);
void TinyOS_TaskDelayedInit(void);
void TinyOS_TaskDelay(uint32_t DelayTicks);
void TinyOS_TaskDelayListDelete(TinyOS_TaskType* Task);

#endif /* __TINYOS_DELAY_H__ */

